home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / cher.z / cher
Encoding:
Text File  |  2002-10-03  |  14.2 KB  |  331 lines

  1.  
  2.  
  3.  
  4. CCCCHHHHEEEERRRR((((3333SSSS))))                                                              CCCCHHHHEEEERRRR((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CCCCHHHHEEEERRRR, ZZZZHHHHEEEERRRR - Performs Hermitian rank 1 update of a complex Hermitian
  10.      matrix
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      Single precision complex
  14.  
  15.           Fortran:
  16.                CCCCAAAALLLLLLLL CCCCHHHHEEEERRRR ((((_u_p_l_o,,,, _n,,,, _a_l_p_h_a,,,, _x,,,, _i_n_c_x,,,, _a,,,, _l_d_a))))
  17.  
  18.           C/C++:
  19.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  20.                vvvvooooiiiidddd cccchhhheeeerrrr ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ffffllllooooaaaatttt *_a_l_p_h_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,,
  21.                iiiinnnntttt _i_n_c_x,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a))));;;;
  22.  
  23.           C++ STL:
  24.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  25.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  26.                vvvvooooiiiidddd cccchhhheeeerrrr ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ffffllllooooaaaatttt *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,,
  27.                iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a,,,, iiiinnnntttt _l_d_a))));;;;
  28.  
  29.      Double precision complex
  30.  
  31.           Fortran:
  32.                CCCCAAAALLLLLLLL ZZZZHHHHEEEERRRR ((((_u_p_l_o,,,, _n,,,, _a_l_p_h_a,,,, _x,,,, _i_n_c_x,,,, _a,,,, _l_d_a))))
  33.  
  34.           C/C++:
  35.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  36.                vvvvooooiiiidddd zzzzhhhheeeerrrr ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee _a_l_p_h_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,,
  37.                iiiinnnntttt _i_n_c_x,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a))));;;;
  38.  
  39.           C++ STL:
  40.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  41.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  42.                vvvvooooiiiidddd zzzzhhhheeeerrrr ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee _a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,,
  43.                iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a,,,, iiiinnnntttt _l_d_a))));;;;
  44.  
  45. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  46.      These routines are part of the SCSL Scientific Library and can be loaded
  47.      using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option.  The ----llllssssccccssss____mmmmpppp option
  48.      directs the linker to use the multi-processor version of the library.
  49.  
  50.      When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is
  51.      4 bytes (32 bits). Another version of SCSL is available in which integers
  52.      are 8 bytes (64 bits).  This version allows the user access to larger
  53.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  54.      by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use
  55.      only one of the two versions; 4-byte integer and 8-byte integer library
  56.      calls cannot be mixed.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCHHHHEEEERRRR((((3333SSSS))))                                                              CCCCHHHHEEEERRRR((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      The C and C++ prototypes shown above are appropriate for the 4-byte
  75.      integer version of SCSL. When using the 8-byte integer version, the
  76.      variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header
  77.      file should be included.
  78.  
  79. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  80.      These routines perform the following Hermitian rank 1 operation:
  81.  
  82.           _A <- _a_l_p_h_a _x _x_H + _A
  83.  
  84.      _a_l_p_h_a is a real scalar, _x is an _n-element vector, _x_H is the conjugate
  85.      transpose of _x, and _A is an _n-by-_n Hermitian matrix.
  86.  
  87.      See the NOTES section of this man page for information about the
  88.      interpretation of the data types described in the following arguments.
  89.  
  90.      These routines have the following arguments:
  91.  
  92.      _u_p_l_o      Character.  (input)
  93.                Specifies whether the upper or lower triangular part of array _a
  94.                is referenced, as follows:
  95.  
  96.                _u_p_l_o= 'U' or 'u': only the upper triangular part of _a is
  97.                referenced.
  98.                _u_p_l_o= 'L' or 'l': only the lower triangular part of _a is
  99.                referenced.
  100.  
  101.                For C/C++, a pointer to this character is passed.
  102.  
  103.      _n         Integer.  (input)
  104.                Specifies the order of matrix _A.  _n >= 0.
  105.  
  106.      _a_l_p_h_a     Scalar alpha.
  107.                CCCCHHHHEEEERRRR: Single precision.
  108.                ZZZZHHHHEEEERRRR: Double precision.
  109.  
  110.      _x         Array of dimension 1+(_n-1) * |_i_n_c_x|.  (input)
  111.                CCCCHHHHEEEERRRR: single precision complex array.
  112.                ZZZZHHHHEEEERRRR: Double precision complex array.
  113.                Contains vector _x.
  114.  
  115.      _i_n_c_x      Integer.  (input)
  116.                Specifies the increment for the elements of _x.  _i_n_c_x must not
  117.                be 0.
  118.  
  119.      _a         Array of dimension (_l_d_a,_n).  (input and output)
  120.                CCCCHHHHEEEERRRR: Single precision complex array.
  121.                ZZZZHHHHEEEERRRR: Double precision complex array.
  122.  
  123.                Before entry with _u_p_l_o = 'U' or 'u', the leading _n-by-_n upper
  124.                triangular part of array _a must contain the upper triangular
  125.                part of the Hermitian matrix.  The strictly lower triangular
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. CCCCHHHHEEEERRRR((((3333SSSS))))                                                              CCCCHHHHEEEERRRR((((3333SSSS))))
  137.  
  138.  
  139.  
  140.                part of _a is not referenced.  On exit, the upper triangular
  141.                part of the updated matrix overwrites the upper triangular part
  142.                of array _a.
  143.  
  144.                Before entry with _u_p_l_o = 'L' or 'l', the leading _n-by-_n lower
  145.                triangular part of array _a must contain the lower triangular
  146.                part of the Hermitian matrix.  The strictly upper triangular
  147.                part of _a is not referenced.  On exit, the lower triangular
  148.                part of the updated matrix overwrites the lower triangular part
  149.                of array _a.
  150.  
  151.                The imaginary parts of the diagonal elements need not be set.
  152.                They are assumed to be 0; on exit, they are set to 0.
  153.  
  154.      _l_d_a       Integer.  (input)
  155.                On entry, _l_d_a specifies the first dimension of _a as declared in
  156.                the calling program.  _l_d_a >= MMMMAAAAXXXX(1,_n).
  157.  
  158. NNNNOOOOTTTTEEEESSSS
  159.      CCCCHHHHEEEERRRR/ZZZZHHHHEEEERRRR is a Level 2 Basic Linear Algebra Subprogram (Level 2 BLAS).
  160.  
  161.      When working backward (_i_n_c_x < 0), this routine starts at the end of the
  162.      vector and moves backward, as follows:
  163.  
  164.           _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)), ..., _x(1)
  165.  
  166.  
  167.    DDDDaaaattttaaaa TTTTyyyyppppeeeessss
  168.      The following data types are described in this documentation:
  169.  
  170.           TTTTeeeerrrrmmmm UUUUsssseeeedddd                     DDDDaaaattttaaaa ttttyyyyppppeeee
  171.  
  172.      Fortran:
  173.  
  174.           Array dimensioned _n           xxxx((((nnnn))))
  175.  
  176.           Array of dimensions (_m,_n)     xxxx((((mmmm,,,,nnnn))))
  177.  
  178.           Character                     CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR
  179.  
  180.           Integer                       IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  181.  
  182.           Single precision              RRRREEEEAAAALLLL
  183.  
  184.           Double precision              DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN
  185.  
  186.           Single precision complex      CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  187.  
  188.           Double precision complex      DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. CCCCHHHHEEEERRRR((((3333SSSS))))                                                              CCCCHHHHEEEERRRR((((3333SSSS))))
  203.  
  204.  
  205.  
  206.      C/C++:
  207.  
  208.           Array dimensioned _n           xxxx[[[[_n]]]]
  209.  
  210.           Array of dimensions (_m, _n)    xxxx[[[[mmmm****nnnn]]]]
  211.  
  212.           Character                     cccchhhhaaaarrrr
  213.  
  214.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  215.  
  216.           Single precision              ffffllllooooaaaatttt
  217.  
  218.           Double precision              ddddoooouuuubbbblllleeee
  219.  
  220.           Single precision complex      ssssccccssssllll____ccccoooommmmpppplllleeeexxxx
  221.  
  222.           Double precision complex      ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  223.  
  224.      C++ STL:
  225.  
  226.           Array dimensioned _n           xxxx[[[[_n]]]]
  227.  
  228.           Array of dimensions (_m, _n)    xxxx[[[[mmmm****nnnn]]]]
  229.  
  230.           Character                     cccchhhhaaaarrrr
  231.  
  232.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  233.  
  234.           Single precision              ffffllllooooaaaatttt
  235.  
  236.           Double precision              ddddoooouuuubbbblllleeee
  237.  
  238.           Single precision complex      ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>>
  239.  
  240.           Double precision complex      ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>>
  241.  
  242.      Note that you can explicitly declare multidimensional C/C++ arrays
  243.      provided that the array dimensions are swapped with respect to the
  244.      Fortran declaration (e.g., xxxx[[[[nnnn]]]][[[[mmmm]]]] in C/C++ versus xxxx((((mmmm,,,,nnnn)))) in Fortran).
  245.      To avoid a compiler type mismatch error in C++ (or a compiler warning
  246.      message in C), however, the array should be cast to a pointer of the
  247.      appropriate type when passed as an argument to a SCSL routine.
  248.  
  249. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  250.      IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS2222(3S), SSSSSSSSYYYYRRRR(3S)
  251.  
  252.      IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77
  253.      Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic
  254.      Linear Algebra Subprograms Technical Forum.
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. CCCCHHHHEEEERRRR((((3333SSSS))))                                                              CCCCHHHHEEEERRRR((((3333SSSS))))
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                                                         PPPPaaaaggggeeee 5555
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.